//039. 整数直角三角形
//        如果 p 是一个整数边{a,b,c}的直角三角形的周长，对于 p=120 仅有三个符合要求的解：
//        {20,48,52},{24,45,51},{30,40,50}
//        求使得符合要求的解的数量最大的 p 值，其中 p≤1000。
//        答案：840

//纯暴力没写
//看了题解的优化
//推式子
//https://pe.metaquant.org/pe039.html
public class Week039 {

    static int getCount(int p) {
        int cnt = 0;
        for (int a = 1, end = p / 3; a < end; ++a) {
            if ((p * p - 2 * p * a) % (2 * p - 2 * a) == 0) ++cnt;
        }
        return cnt;
    }

    static void run() {
        final int N = 1000;
        int max = 3, p = 120;
        for (int i = 2; i <= N; i += 2) {
            int cnt = getCount(i);
            if (max < cnt) {
                max = cnt;
                p = i;
            }
        }
        System.out.println(p);
    }

    public static void main(String[] args) {
        long startTime = System.nanoTime();
        run();
        System.out.println("\n程序运行时间：" + (System.nanoTime() - startTime) + "ns.");
    }
}
